import { DestinationTypeInfo } from '../../schema'

export const destTypes: DestinationTypeInfo[] = [
  {
    type: 'single-field',
    name: 'Single Field',
    enabled: true,
    userDisclaimer: '',
    isContactMethod: true,
    isEPTarget: true,
    isSchedOnCallNotify: true,
    isDynamicAction: true,
    iconURL: '',
    iconAltText: '',
    supportsStatusUpdates: false,
    statusUpdatesRequired: false,
    dynamicParams: [
      {
        paramID: 'example-param',
        label: 'Example Param',
        hint: 'Some hint text',
        hintURL: '',
        defaultValue: '',
      },
    ],
    requiredFields: [
      {
        fieldID: 'phone_number',
        label: 'Phone Number',
        hint: 'Include country code e.g. +1 (USA), +91 (India), +44 (UK)',
        hintURL: '',
        placeholderText: '11235550123',
        prefix: '+',
        inputType: 'tel',
        supportsSearch: false,
        supportsValidation: true,
      },
    ],
  },
  {
    type: 'triple-field',
    name: 'Multi Field',
    enabled: true,
    userDisclaimer: '',
    isContactMethod: true,
    isEPTarget: true,
    isSchedOnCallNotify: true,
    isDynamicAction: false,
    iconURL: '',
    iconAltText: '',
    supportsStatusUpdates: true,
    statusUpdatesRequired: false,
    dynamicParams: [],
    requiredFields: [
      {
        fieldID: 'first-field',
        label: 'First Item',
        hint: 'Some hint text',
        hintURL: '',
        placeholderText: '11235550123',
        prefix: '+',
        inputType: 'tel',
        supportsSearch: false,
        supportsValidation: true,
      },
      {
        fieldID: 'second-field',
        label: 'Second Item',
        hint: '',
        hintURL: '',
        placeholderText: 'foobar@example.com',
        prefix: '',
        inputType: 'email',
        supportsSearch: false,
        supportsValidation: true,
      },
      {
        fieldID: 'third-field',
        label: 'Third Item',
        hint: 'docs',
        hintURL: '/docs',
        placeholderText: 'slack user ID',
        prefix: '',
        inputType: 'string',
        supportsSearch: false,
        supportsValidation: true,
      },
    ],
  },
  {
    type: 'supports-status',
    name: 'Single With Status',
    enabled: true,
    userDisclaimer: '',
    isContactMethod: true,
    isEPTarget: false,
    isSchedOnCallNotify: false,
    isDynamicAction: false,
    iconURL: '',
    iconAltText: '',
    supportsStatusUpdates: true,
    statusUpdatesRequired: false,
    dynamicParams: [],
    requiredFields: [
      {
        fieldID: 'phone_number',
        label: 'Phone Number',
        hint: 'Include country code e.g. +1 (USA), +91 (India), +44 (UK)',
        hintURL: '',
        placeholderText: '11235550123',
        prefix: '+',
        inputType: 'tel',
        supportsSearch: false,
        supportsValidation: true,
      },
    ],
  },
  {
    type: 'required-status',
    name: 'Single With Required Status',
    enabled: true,
    userDisclaimer: '',
    isContactMethod: true,
    isEPTarget: false,
    isSchedOnCallNotify: false,
    isDynamicAction: false,
    iconURL: '',
    iconAltText: '',
    supportsStatusUpdates: false,
    statusUpdatesRequired: true,
    dynamicParams: [],
    requiredFields: [
      {
        fieldID: 'phone_number',
        label: 'Phone Number',
        hint: 'Include country code e.g. +1 (USA), +91 (India), +44 (UK)',
        hintURL: '',
        placeholderText: '11235550123',
        prefix: '+',
        inputType: 'tel',
        supportsSearch: false,
        supportsValidation: true,
      },
    ],
  },
  {
    type: 'disabled-destination',
    name: 'This is disabled',
    enabled: false,
    userDisclaimer: '',
    isContactMethod: true,
    isEPTarget: true,
    isSchedOnCallNotify: true,
    isDynamicAction: true,
    iconURL: '',
    iconAltText: '',
    supportsStatusUpdates: false,
    statusUpdatesRequired: false,
    dynamicParams: [],
    requiredFields: [
      {
        fieldID: 'disabled',
        label: '',
        hint: '',
        hintURL: '',
        placeholderText: 'This field is disabled.',
        prefix: '',
        inputType: 'url',
        supportsSearch: false,
        supportsValidation: false,
      },
    ],
  },
]
